One of the most-demanded resources in computing devices (other than the CPU) is system memory. In computing, memory refers to the physical devices used to store programs or data on a temporary or permanent basis for use in a computer or other digital electronic device. The term primary or main memory is used for semiconductor memory devices (i.e. dynamic random access memory (DRAM) and static random access memory (SRAM)), which function at high speed. The term secondary memory is used for memory devices such as hard disk drives (HDD) and solid state drives (SSD), which may be relatively slow to access but offer higher memory capacity than conventional random access memory (e.g., DRAM).
DRAM and SRAM are both volatile memory, i.e. they can maintain data only for as long as power is applied. This may be contrasted with non-volatile random access memory (NVRAM) that retains its information even when power is turned off.
Newer semiconductor memory technologies (e.g., phase-change memory, magneto-resistive memory (or memristors), spin-torque memory, etc.) have increased chip capacity so that these new types of memory (“new memories”) can now compete with conventional secondary memory (such as HDDs and SSDs) in offering higher memory capacity and also in slashing an access penalty for solid state storage (e.g., compared to SSDs). The new memories may be as fast as conventional DRAM for processor load or read operations. However, the new memories may still be significantly slower (˜10×) than conventional DRAM for processor store or write operations (both in latency and throughput). For convenience in description herein, such new memories may be referred to hereinafter as “non-volatile random access memory (NVRAM)”.
Consideration is now being given to the use of NVRAM in memory arrangements that are coupled to a processor or processor unit in a computing device.